
package com.microsoft.schemas.exchange.services._2006.messages;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.logging.Logger;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import javax.xml.ws.WebEndpoint;
import javax.xml.ws.WebServiceClient;
//import javax.xml.ws.WebServiceFeature;


/**
 * 
 * <pre>
 * Copyright (c) 2000-2003 Yale University. All rights reserved.
 * 
 * THIS SOFTWARE IS PROVIDED "AS IS," AND ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE EXPRESSLY
 * DISCLAIMED. IN NO EVENT SHALL YALE UNIVERSITY OR ITS EMPLOYEES BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED, THE COSTS OF
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH
 * DAMAGE.
 * 
 * Redistribution and use of this software in source or binary forms,
 * with or without modification, are permitted, provided that the
 * following conditions are met:
 * 
 * 1. Any redistribution must include the above copyright notice and
 * disclaimer and this list of conditions in any related documentation
 * and, if feasible, in the redistributed software.
 * 
 * 2. Any redistribution must include the acknowledgment, "This product
 * includes software developed by Yale University," in any related
 * documentation and, if feasible, in the redistributed software.
 * 
 * 3. The names "Yale" and "Yale University" must not be used to endorse
 * or promote products derived from this software.
 * </pre>
 *

 * 
 * This class was generated by the JAX-WS RI.
 * JAX-WS RI 2.1.2-b05-RC1
 * Generated source version: 2.1
 * 
 */
@WebServiceClient(name = "ExchangeServices", targetNamespace = "http://schemas.microsoft.com/exchange/services/2006/messages", wsdlLocation = "file:/home/jjv6/workspace/IMAPExchangeConversion/Services.wsdl")
public class ExchangeServices
    extends Service
{

    private final static URL EXCHANGESERVICES_WSDL_LOCATION;
    private final static Logger logger = Logger.getLogger(com.microsoft.schemas.exchange.services._2006.messages.ExchangeServices.class.getName());

    static {
        URL url = null;
        try {
            URL baseUrl;
            baseUrl = com.microsoft.schemas.exchange.services._2006.messages.ExchangeServices.class.getResource(".");
            url = new URL(baseUrl, "file:/home/jjv6/workspace/IMAPExchangeConversion/Services.wsdl");
        } catch (MalformedURLException e) {
            logger.warning("Failed to create URL for the wsdl Location: 'file:/home/jjv6/workspace/IMAPExchangeConversion/Services.wsdl', retrying as a local file");
            logger.warning(e.getMessage());
        }
        EXCHANGESERVICES_WSDL_LOCATION = url;
    }

    public ExchangeServices() {
        this(EXCHANGESERVICES_WSDL_LOCATION);
    }
    public ExchangeServices(URL wsdlLocation) {
        this(wsdlLocation, new QName("http://schemas.microsoft.com/exchange/services/2006/messages", "ExchangeServices"));
    }

    public ExchangeServices(URL wsdlLocation, QName serviceName) {
        super(wsdlLocation, serviceName);
    }


    /**
     * 
     * @return
     *     returns ExchangeServicePortType
     */
    @WebEndpoint(name = "ExchangeServicePort")
    public ExchangeServicePortType getExchangeServicePort() {
        return super.getPort(new QName("http://schemas.microsoft.com/exchange/services/2006/messages", "ExchangeServicePort"), ExchangeServicePortType.class);
    }

    /**
     * 
     * @param features
     *     A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy.  Supported features not in the <code>features</code> parameter will have their default values.
     * @return
     *     returns ExchangeServicePortType
     */
//    @WebEndpoint(name = "ExchangeServicePort")
//    public ExchangeServicePortType getExchangeServicePort(WebServiceFeature... features) {
//        return super.getPort(new QName("http://schemas.microsoft.com/exchange/services/2006/messages", "ExchangeServicePort"), ExchangeServicePortType.class, features);
//    }

}
